#ifndef RVIZ_TOOLS_PKG__ADD_POINT_TOOL_HPP_
#define RVIZ_TOOLS_PKG__ADD_POINT_TOOL_HPP_

#include "rclcpp/rclcpp.hpp"
#include "rviz_default_plugins/tools/pose/pose_tool.hpp"
#include "geometry_msgs/msg/pose_stamped.hpp"

namespace rviz_tools_pkg
{
    class AddPointTool : public rviz_default_plugins::tools::PoseTool
    {
        Q_OBJECT
    public:
        AddPointTool();
        ~AddPointTool() override;

        void onInitialize() override;

    protected:
        void onPoseSet(double x, double y, double theta) override;
    
    private:
        rclcpp::Logger logger_;
        rclcpp::Node::SharedPtr node_;
        rclcpp::Publisher<geometry_msgs::msg::PoseStamped>::SharedPtr pose_pub_;
    };
} // namespace rviz_tools_pkg
#endif // RVIZ_TOOLS_PKG__ADD_POINT_TOOL_HPP_